#!/usr/bin/env python3
# -*- coding: utf-8 -*-
##############################################
# @Author: DengLibin 榆霖
# @Date: Create in 2022-03-30 16:42:38
# @Description: 文本特征抽取 中文 jieba分词
##############################################
import jieba
from sklearn.feature_extraction.text import CountVectorizer, TfidfVectorizer


def cut_word(text):
   """
   中文分词
   Args:
       text (str): 
   """
   return " ".join(jieba.cut(text))


def chinese_text_count():
   data = ['在河南安阳，当地人社部门在深入企业开展适合大学生岗位空缺调查后',
            '举办了2022年大中城市联合招聘高校毕业生直播带岗专场活动',
            '在“直播带岗”活动中，招聘企业的相关负责人分别对企业内部的工作条件、生活环境等向求职者进行了详细介绍',
            '企业员工就薪资待遇、就业环境谈了自己的亲身感受，让求职者对企业有了更全面、更直观的了解']
   new_data = []
   for sub in data:
       new_data.append(cut_word(sub))
    # 实例化转换器
   transfer = CountVectorizer()
   data_final = transfer.fit_transform(new_data)
   print(data_final)
    # 特征（单词）
   print(transfer.get_feature_names())
   print(data_final.toarray())

def tfidf_demo():
   """tfidf特征抽取

   Returns:
       _type_: _description_
   """
   data = ['在河南安阳，当地人社部门在深入企业开展适合大学生岗位空缺调查后',
            '举办了2022年大中城市联合招聘高校毕业生直播带岗专场活动',
            '在“直播带岗”活动中，招聘企业的相关负责人分别对企业内部的工作条件、生活环境等向求职者进行了详细介绍',
            '企业员工就薪资待遇、就业环境谈了自己的亲身感受，让求职者对企业有了更全面、更直观的了解']
   new_data = []
   for sub in data:
       new_data.append(cut_word(sub))
   
   # 实例化转换器
   tranfer = TfidfVectorizer()
   data_final = tranfer.fit_transform(new_data)
   print("new_data:", data_final.toarray())
   print("特征名字:", tranfer.get_feature_names())
   
   return None

if __name__ == '__main__':
   # chinese_text_count()
   tfidf_demo()
